package com.yashi.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.yashi.entity.TbUser;

public interface TbUserMapper {
	
	/**
	 * 查询用户聊天列表
	 * @param id
	 * @return
	 */
	List<TbUser> findUserChatList(String id);
	/**
	 * 查询用户聊天列表
	 * @param id
	 * @return
	 */
	String findUserChatList2(@Param("sendId")String sendId,@Param("receiveId")String receiveId);
	
	/**
	 * 根据id删除 (逻辑删除)
	 * @param id
	 * @return
	 */
    Integer deleteUser(TbUser record);

    /**
     * 添加用户
     * @param record
     * @return
     */
    Integer insert(TbUser record);
    
    Integer insertSelective(TbUser record);
    
    /**
     * 根据id来查询
     * @param id
     * @return
     */
    TbUser selectByPrimaryKey(String id);
    
    /**
     * 根据用户名查询用户
     * @param userName
     * @return
     */
    TbUser selectByUserName(String userName);
    

    int updateByPrimaryKeySelective(TbUser record);

    /**
     * 更新用户
     * @param record
     * @return
     */
    int updateByPrimaryKey(TbUser record);

    /**
     * 根据用户名查询是否存在用户
     * @param username
     * @return
     */
	Integer findByUserName(String username);

	/**
	 * 查询所有用户
	 * @return
	 */
	List<TbUser> findUserList();
    /**
     * 根据群id查群成员
     * @param groupId
     * @return
     */
    List<TbUser> selectUserbyGroupId(String groupId);

    /**
     * 根据用户名模糊查询
     * @param userName
     * @return
     */
	List<TbUser> selectUserByName(String userName);

	/**
	 * 修改密码
	 * @param userId
	 * @param newPassword
	 * @return
	 */
	Integer updatePass(@Param("id")String userId, @Param("password")String newPassword);

	/**
	 * 修改头像
	 * @param userId
	 * @param url
	 */	
	void modifyImg(@Param("uid")String uid, @Param("photo")String photo);
	
	/**
	 * 设置管理员
	 * @param user
	 * @return
	 */
	Integer updateAdmin(TbUser user);
}